// 1.通过命令交互询问用户问题
// 2.根据用户回答得结果生成文件
const path = require('path')
const inquirer  = require('inquirer')
const fs = require('fs')
const ejs = require('ejs')
inquirer.prompt([
    {
        type:'input',
        name:'name',
        message:'Project name?'
    }
]).then(anwers=>{
    // 模板目录
    const tmpDir = path.join(__dirname,'templates')
    // 目标目录
    const desDir = process.cwd()
    // 将模板先得文件全部转换到目标目录
    fs.readdir(tmpDir,(error,files)=>{
        if(error) throw error
        files.forEach(file=>{
            // 模板引擎渲染文件
            ejs.renderFile(path.join(tmpDir,file),anwers,(err,result)=>{
                if(err) throw err
                // 将结果写入目标文件目录
                fs.writeFileSync(path.join(desDir,file),result)
            })
        })
    })
})